package com.tracesystem.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@Configuration
//开启swagger
@EnableSwagger2
public class SwaggerConfig {
    
    //配置主要就是设置Docket对象的一些参数
	@Bean
	public Docket createDocket() {
        //常见文档对象，选择文档类型
		Docket docket = new Docket(DocumentationType.SWAGGER_2);
        //创建文档对象里面的文档基本信息
		ApiInfo apiInfo = new ApiInfoBuilder()
				.contact(new Contact("三人合作", "http://tracesystem.com", "l207853316@qq.com"))
				.description("缺项跟踪管理系统")
				.title("缺项跟踪管理系统")
				.build();
        //把上面的文档对象设置进去以及设置对生成文档的接口路径扫描
		docket.apiInfo(apiInfo)
		      .select()
		       .apis(RequestHandlerSelectors.basePackage("com.tracesystem.controller"))
		       .paths(PathSelectors.any())
		       .build();
		return docket;
	}
}